Electronic system commonly generate and use data. When a system generates significant amounts of data, the data can be managed with a data table. A table provides an organized way to store, locate, and access data. There are many methods available for data management of data in tables. One type of table management is an ordered table, which may have a monotonically incrementing index value throughout the entire table. Such tables are useful for data that needs to be accessible by both entry value and index value. The entry value refers to the value of the data element, meaning if the data element is known, the table should be searchable by the data element to find its location within the table. The index value refers to the identifier indicating what place in the table is occupied by the data element, and the table should be accessible by index value (e.g., access the 42nd element in the table).
Consider an implementation of a user program or system that allows a table to evolve dynamically and has the potential of generating very large tables that evolve over time. The information in such a table is dynamic in a random fashion. In current table management, every operation on a data element in such a table could potentially require updating a significant fraction of the elements of the table. On average, nearly half of the elements in the table would need to be updated for every insert, move, or remove operation on data elements of the table. More particularly, every insert required updating (incrementing) the index value of every data element subsequent to the inserted data element. Every remove similarly required updating (decrementing) the index value of every data element subsequent to the removed data element. A move (also referred to as a reorder) required updating (either incrementing or decrementing) a group of data elements between the location where the data element was being removed from to the location where the data element was being moved to. As a result, any algorithm that used such large tables suffered poor performance due to the amount of updating required for each operation. The performance of the algorithms reduced the practical use of the large dynamic tables.